package com.cn.mapper.dao.db1.mc;

import com.cn.bean.dto.MoxiaoDto;
import com.cn.bean.pojo.mc.K3FlXx;
import com.cn.bean.pojo.mc.McMx;
import com.cn.bean.pojo.mc.McMxList;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

@Mapper
public interface MoXiaoDao {
    List<MoxiaoDto> selectAllMoXiao(@Param("limit") int limit, @Param("page") int page, @Param("djBh") String djBh, @Param("lx") String lx, @Param("djZt") String djZt);

    List<K3FlXx> selectAll(@Param("limit") int limit, @Param("page") int page, @Param("djBh") String djBh, @Param("lx") String lx, @Param("zt") int zt);

    Boolean updateStatus(@Param("djBh") String djBh, @Param("sqrGh") String sqrGh, @Param("sqrXm") String sqrXm, @Param("sqrBm") String sqrsqrBmXm, @Param("sqSj") String sqSj, @Param("zt") int zt, @Param("gzmDcMxcs") int gzmDcMxcs);

    Boolean addMoXiao(@Param("djBh") String djBh, @Param("lb") String lb, @Param("scMoxiaoDate") String scMoxiaoDate, @Param("scCpzj") BigDecimal scCpzj, @Param("bcMoxiaoDate") String bcMoxiaoDate, @Param("bcCpzj") BigDecimal bcCpzj, @Param("jgts") String jgts, @Param("agzmDcMxcs") int agzmDcMxcs, @Param("zdr") String zdr, @Param("zdbm") String zdbm, @Param("zdsj") String zdsj,
                      @Param("djId") String djId, @Param("djsj") String djsj, @Param("csWj") BigDecimal csWj, @Param("gzmBfZj") BigDecimal gzmBfZj, @Param("gzmCcdXx") BigDecimal gzmCcdXx, @Param("gzmCcdSx") BigDecimal gzmCcdSx, @Param("ghZq") String ghZq, @Param("k3Mc") String k3Mc);

    Boolean addBfxx(@Param("djBh") String djBh, @Param("lb") String lb, @Param("bfsj") String bfsj, @Param("sjbfzj") BigDecimal sjbfzj, @Param("bfsm") String bfsm);

    Boolean updateMoXiao(@Param("djBh") String djBh, @Param("zjMxzj") BigDecimal zjMxzj, @Param("zjMxsj") String zjMxsj, @Param("bcMxzj") BigDecimal bcMxzj, @Param("bcMxsj") String bcMxsj, @Param("ghZq") String ghZq);

    Boolean delMoXiao(@Param("djBh") String djBh, @Param("isDel") int isDel);

    List<K3FlXx> selectMoxiaoBydjBh(@Param("djBh") String djBh, @Param("agzmDcMxcs") int agzmDcMxcs);

    int updateYcjl(@Param("djBh") String djBh, @Param("agzmDcMxcs") int agzmDcMxcs, @Param("xgr") String xgr, @Param("xgbm") String xgbm, @Param("xgsj") String xgsj, @Param("djZt") String djZt, @Param("ycqkjl") String ycqkjl);

    Boolean updateLjcs(@Param("djBh") String djBh, @Param("agzmDcMxcs") String agzmDcMxcs, @Param("bcMoxiaoDate") String bcMoxiaoDate, @Param("bcCpzj") BigDecimal bcCpzj);

    Boolean updateZtB(@Param("djBh") String djBh, @Param("zt") int zt);

    //主子表
    int insertMcMx(@Param("id") int id, @Param("gx") String gx, @Param("sb") String sb, @Param("banZu") String banZu, @Param("bz") String bz, @Param("zt") int zt, @Param("shZt") int shZt, @Param("sqrGh") String sqrGh, @Param("sqrXm") String sqrXm, @Param("sqrBm") String sqrBm, @Param("sqSj") String sqSj);

    int insertMcMxList(@Param("idList") int idList, @Param("parentId") int parentId, @Param("zh") String zh, @Param("djBh") String djBh, @Param("k3WlBm") String k3WlBm, @Param("k3Mc") String k3Mc, @Param("zt") int zt, @Param("lx") String lx, @Param("gzmDcMxcs") int gzmDcMxcs, @Param("bcMxzj") BigDecimal bcMxzj, @Param("bcMxsj") String bcMxsj, @Param("csWj") BigDecimal csWj, @Param("gzmBfZj") BigDecimal gzmBfZj, @Param("gzmCcdXx") BigDecimal gzmCcdXx, @Param("gzmCcdSx") BigDecimal gzmCcdSx, @Param("ghZq") String ghZq);

    Integer getMcMxAutoid();

    Integer getMcMxListAutoid();

    List<McMx> getMcMx(@Param("limit") int limit, @Param("page") int page, @Param("id") String id, @Param("gx") String gx, @Param("zt") int zt);

    List<McMxList> getMcMxList(@Param("id") Integer id);

    int upDateMcMx(@Param("McMx") McMx mx);

    int deleteMcMxListParentId(@Param("parentId") int parentId);

    int upDateMcMxSh(@Param("id") int id, @Param("zt") int zt, @Param("shZt") int shZt, @Param("shrGh") String shrGh, @Param("shrXm") String shrXm, @Param("shrBm") String shrBm, @Param("shSj") String shSj);
    int upDateGzmDcMxcs(@Param("djBh")String djBh,@Param("gzmDcMxcs")int gzmDcMxcs);
    Integer isCite(@Param("gzmDcMxcs")int gzmDcMxcs,@Param("djBh")String djBh);

}
